home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat4 / term.z / term
Encoding:
Text File  |  2002-10-03  |  17.3 KB  |  199 lines

  1.  
  2.  
  3.  
  4. tttteeeerrrrmmmm((((4444))))                                                                tttteeeerrrrmmmm((((4444))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _tttt_eeee_rrrr_mmmm - format of compiled _tttt_eeee_rrrr_mmmm file
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo_////_????_////_****
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      Compiled _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo(4) descriptions are placed under the directory
  16.      _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo.  In order to avoid a linear search of a huge
  17.      UNIX system directory, a two-level scheme is used:
  18.      _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo_////_c_////_n_a_m_e where _n_a_m_e is the name of the terminal,
  19.      and _c is the first character of _n_a_m_e.  Thus, _aaaa_tttt_tttt_4444_4444_2222_5555 can be found in the
  20.      file _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo_////_aaaa_////_aaaa_tttt_tttt_4444_4444_2222_5555.  Synonyms for the same terminal
  21.      are implemented by multiple links to the same compiled file.
  22.  
  23.      The format has been chosen so that it is the same on all hardware.  An
  24.      8-bit byte is assumed, but no assumptions about byte ordering or sign
  25.      extension are made.  Thus, these binary _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo files can be transported
  26.      to other hardware with 8-bit bytes.
  27.  
  28.      Short integers are stored in two 8-bit bytes.  The first byte contains
  29.      the least significant 8 bits of the value, and the second byte contains
  30.      the most significant 8 bits.  (Thus, the value represented is
  31.      256*_s_e_c_o_n_d+_f_i_r_s_t.)  The value _----_1111 is represented by _0000_3333_7777_7777_,,,,_0000_3333_7777_7777, and the
  32.      value _----_2222 is represented by _0000_3333_7777_6666_,,,,_0000_3333_7777_7777; other negative values are illegal.
  33.      The _----_1111 generally means that a capability is missing from this terminal.
  34.      The _----_2222 means that the capability has been cancelled in the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo
  35.      source and also is to be considered missing.
  36.  
  37.      The compiled file is created from the source file descriptions of the
  38.      terminals (see the _----_IIII option of _iiii_nnnn_ffff_oooo_cccc_mmmm_pppp) by using the _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo compiler,
  39.      _tttt_iiii_cccc, and read by the routine _ssss_eeee_tttt_uuuu_pppp_tttt_eeee_rrrr_mmmm [see _cccc_uuuu_rrrr_ssss_eeee_ssss(3X).]  The file is
  40.      divided into six parts in the following order:  the header, terminal
  41.      names, boolean flags, numbers, strings, and string table.
  42.  
  43.      The header section begins the file.  This section contains six short
  44.      integers in the format described below.  These integers are (1) the magic
  45.      number (octal _0000_4444_3333_2222); (2) the size, in bytes, of the names section; (3)
  46.      the number of bytes in the boolean section; (4) the number of short
  47.      integers in the numbers section; (5) the number of offsets (short
  48.      integers) in the strings section; (6) the size, in bytes, of the string
  49.      table.
  50.  
  51.      The terminal names section comes next.  It contains the first line of the
  52.      _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo description, listing the various names for the terminal,
  53.      separated by the bar ( | ) character (see _tttt_eeee_rrrr_mmmm(5)).  The section is
  54.      terminated with an ASCII NUL character.
  55.  
  56.      The boolean flags have one byte for each flag.  This byte is either _0000 or
  57.      _1111 as the flag is present or absent.  The value of _2222 means that the flag
  58.      has been cancelled.  The capabilities are in the same order as the file
  59.      <_tttt_eeee_rrrr_mmmm_...._hhhh>.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. tttteeeerrrrmmmm((((4444))))                                                                tttteeeerrrrmmmm((((4444))))
  71.  
  72.  
  73.  
  74.      Between the boolean section and the number section, a null byte is
  75.      inserted, if necessary, to ensure that the number section begins on an
  76.      even byte offset.  All short integers are aligned on a short word
  77.      boundary.
  78.  
  79.      The numbers section is similar to the boolean flags section.  Each
  80.      capability takes up two bytes, and is stored as a short integer.  If the
  81.      value represented is _----_1111 or _----_2222, the capability is taken to be missing.
  82.  
  83.      The strings section is also similar.  Each capability is stored as a
  84.      short integer, in the format above.  A value of _----_1111 or _----_2222 means the
  85.      capability is missing.  Otherwise, the value is taken as an offset from
  86.      the beginning of the string table.  Special characters in ^X or \c
  87.      notation are stored in their interpreted form, not the printing
  88.      representation.  Padding information ($<nn>) and parameter information
  89.      (%x) are stored intact in uninterpreted form.
  90.  
  91.      The final section is the string table.  It contains all the values of
  92.      string capabilities referenced in the string section.  Each string is
  93.      null terminated.
  94.  
  95.      Note that it is possible for _ssss_eeee_tttt_uuuu_pppp_tttt_eeee_rrrr_mmmm to expect a different set of
  96.      capabilities than are actually present in the file.  Either the database
  97.      may have been updated since _ssss_eeee_tttt_uuuu_pppp_tttt_eeee_rrrr_mmmm has been recompiled (resulting in
  98.      extra unrecognized entries in the file) or the program may have been
  99.      recompiled more recently than the database was updated (resulting in
  100.      missing entries).  The routine _ssss_eeee_tttt_uuuu_pppp_tttt_eeee_rrrr_mmmm must be prepared for both
  101.      possibilities-this is why the numbers and sizes are included.  Also, new
  102.      capabilities must always be added at the end of the lists of boolean,
  103.      number, and string capabilities.
  104.  
  105.      As an example, here is terminal information on the AT&T Model 37 KSR
  106.      terminal as output by the _iiii_nnnn_ffff_oooo_cccc_mmmm_pppp _----_IIII _tttt_tttt_yyyy_3333_7777 command:
  107.  
  108.           _3333_7777_||||_tttt_tttt_yyyy_3333_7777_||||_AAAA_TTTT_&&&&_TTTT _mmmm_oooo_dddd_eeee_llll _3333_7777 _tttt_eeee_llll_eeee_tttt_yyyy_pppp_eeee_,,,,
  109.             _hhhh_cccc_,,,, _oooo_ssss_,,,, _xxxx_oooo_nnnn_,,,,
  110.             _bbbb_eeee_llll_====_^^^^_GGGG_,,,, _cccc_rrrr_====_\\\\_rrrr_,,,, _cccc_uuuu_bbbb_1111_====_\\\\_bbbb_,,,, _cccc_uuuu_dddd_1111_====_\\\\_nnnn_,,,, _cccc_uuuu_uuuu_1111_====_\\\\_EEEE_7777_,,,, _hhhh_dddd_====_\\\\_EEEE_9999_,,,,
  111.             _hhhh_uuuu_====_\\\\_EEEE_8888_,,,, _iiii_nnnn_dddd_====_\\\\_nnnn_,,,,
  112.  
  113.      And here is an octal dump of the _tttt_eeee_rrrr_mmmm file, produced by the _oooo_dddd _----_cccc
  114.      _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo_////_tttt_////_tttt_tttt_yyyy_3333_7777 command:
  115.  
  116.      _0000_0000_0000_0000_0000_0000_0000 _0000_3333_2222 _0000_0000_1111      _\\\\_0000 _0000_3333_2222  _\\\\_0000 _0000_1111_3333  _\\\\_0000 _0000_2222_1111 _0000_0000_1111   _3333  _\\\\_0000   _3333   _7777   _||||   _tttt
  117.      _0000_0000_0000_0000_0000_2222_0000   _tttt   _yyyy   _3333   _7777   _||||   _AAAA   _TTTT   _&&&&   _TTTT       _mmmm   _oooo   _dddd   _eeee   _llll
  118.      _0000_0000_0000_0000_0000_4444_0000   _3333   _7777       _tttt   _eeee   _llll   _eeee   _tttt   _yyyy   _pppp   _eeee  _\\\\_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000
  119.      _0000_0000_0000_0000_0000_6666_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000 _0000_0000_1111  _\\\\_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000 _0000_0000_1111  _\\\\_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000
  120.      _0000_0000_0000_0000_1111_0000_0000 _0000_0000_1111  _\\\\_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000  _\\\\_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777
  121.      _0000_0000_0000_0000_1111_2222_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777   _&&&&  _\\\\_0000
  122.      _0000_0000_0000_0000_1111_4444_0000      _\\\\_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777
  123.      _0000_0000_0000_0000_1111_6666_0000 _3333_7777_7777 _3333_7777_7777   _""""  _\\\\_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777   _((((  _\\\\_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777
  124.      _0000_0000_0000_0000_2222_0000_0000 _3333_7777_7777 _3333_7777_7777   _0000  _\\\\_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777   _----  _\\\\_0000 _3333_7777_7777 _3333_7777_7777
  125.      _0000_0000_0000_0000_2222_2222_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. tttteeeerrrrmmmm((((4444))))                                                                tttteeeerrrrmmmm((((4444))))
  137.  
  138.  
  139.  
  140.      _****
  141.      _0000_0000_0000_0000_5555_2222_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777   _$$$$  _\\\\_0000
  142.      _0000_0000_0000_0000_5555_4444_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777   _****  _\\\\_0000
  143.      _0000_0000_0000_0000_5555_6666_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777
  144.      _****
  145.      _0000_0000_0000_1111_1111_6666_0000 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777 _3333_7777_7777   _3333   _7777
  146.      _0000_0000_0000_1111_2222_0000_0000   _||||   _tttt   _tttt   _yyyy   _3333   _7777   _||||   _AAAA   _TTTT   _&&&&   _TTTT       _mmmm   _oooo   _dddd   _eeee
  147.      _0000_0000_0000_1111_2222_2222_0000   _llll       _3333   _7777       _tttt   _eeee   _llll   _eeee   _tttt   _yyyy   _pppp   _eeee  _\\\\_0000  _\\\\_rrrr  _\\\\_0000
  148.      _0000_0000_0000_1111_2222_4444_0000  _\\\\_nnnn  _\\\\_0000  _\\\\_nnnn  _\\\\_0000 _0000_0000_7777  _\\\\_0000  _\\\\_bbbb  _\\\\_0000 _0000_3333_3333   _8888  _\\\\_0000 _0000_3333_3333   _9999  _\\\\_0000 _0000_3333_3333   _7777
  149.      _0000_0000_0000_1111_2222_6666_0000  _\\\\_0000  _\\\\_0000
  150.      _0000_0000_0000_1111_2222_6666_1111
  151.  
  152.      Some limitations: total compiled entries cannot exceed 4096 bytes; all
  153.      entries in the name field cannot exceed 128 bytes.
  154.  
  155. FFFFIIIILLLLEEEESSSS
  156.      _////_uuuu_ssss_rrrr_////_ssss_hhhh_aaaa_rrrr_eeee_////_llll_iiii_bbbb_////_tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo_////_????_////_**** - compiled terminal description database
  157.      _////_uuuu_ssss_rrrr_////_iiii_nnnn_cccc_llll_uuuu_dddd_eeee_////_tttt_eeee_rrrr_mmmm_...._hhhh - _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo header file
  158.  
  159. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  160.      _cccc_uuuu_rrrr_ssss_eeee_ssss(3X)
  161.      _iiii_nnnn_ffff_oooo_cccc_mmmm_pppp(1M), _tttt_eeee_rrrr_mmmm_iiii_nnnn_ffff_oooo(4), _tttt_eeee_rrrr_mmmm(5)
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.